from django.db import models

# Create your models here.
from django.db import models


# Create your models here.


# 人员表
class Person(models.Model):
    # 人员名称
    Pname = models.CharField(max_length=20000)
    # 人员级别
    # 最后一位0==浏览，不可编辑 1==机械员 2==安全员 3==分公司、事业部巡视人员 4==公司巡视人员
    # 倒数第二位，审批状态
    Plevel = models.IntegerField()
    # 人员所在部门、项目部
    Pdepartment = models.CharField(max_length=20000)
    # 密码
    Psecret=models.CharField(max_length=2000)


# 项目表
class ConstrProject(models.Model):
    # 项目名称
    CPname = models.CharField(max_length=20000)
    # 项目经理
    CPperson = models.CharField(max_length=20000)
    # 项目涉及的工作流ID
    CPlist = models.CharField(max_length=20000)
    # 项目涉及的大型机械设备的ID
    CPmech = models.CharField(max_length=20000)
    # 项目ID
    Cid= models.CharField(max_length=20000)

# 检查项目模板表，用于页面读取检查项目种类、类型、名称、标准，不用于储存每次检查结果
class CheckList(models.Model):
    # 被检查设备种类  起重机、吊篮、等等
    CLsort = models.CharField(max_length=20000)
    # 检查类型 0==一般检查项    1==保证检查项
    CLkind = models.IntegerField()
    # 检查项名称 如：保护装置
    CLkindname = models.CharField(max_length=20000)
    # 检查标准 如：小车变幅的塔式起重机未安装断绳保护及断轴保护装置或不符合规范要求
    CLstandard = models.CharField(max_length=20000)


# 工作流表 用于存放单项检查项目的检查及整改结果
# 用法：
#       1将工作流ID挂到项目表
#       2每条只存放一条检查标准的检查结果
#       3照片地址：
#                   检查人员：多个检查结果对应一张检查照片
#                   项目人员：多个检查结果对应一张整改照片
# 意义：
#       方便统计单一检查标准的直方图导出
class WorkFlow(models.Model):
    # 工作流ID
    WFid = models.CharField(max_length=20000)
    # 检查日期(发起工作流的人员生成)
    WFdate = models.IntegerField()
    # 被检查的大型机械设备的ID(发起工作流的人员选择)
    WFsort = models.CharField(max_length=20000)
    # 检查类型 0==一般检查项    1==保证检查项 2==拆除   3==新装(发起工作流的人员选择)
    WFkind = models.IntegerField()
    # 检查项名称 如：保护装置(发起工作流的人员选择)
    WFkindname = models.CharField(max_length=20000)
    # 检查标准 如：小车变幅的塔式起重机未安装断绳保护及断轴保护装置或不符合规范要求(发起工作流的人员选择)
    WFstandard = models.CharField(max_length=20000)
    # 检查结果 0==不合格    1==合格     2==待审批(发起工作流的人员选择)
    WFresult = models.IntegerField()
    # 检查照片 照片存放地址(发起工作流的人员选择)
    WFcheckpic = models.CharField(max_length=20000)
    # 整改状态   0==通过   1==不通过     2==待审批 (发起工作流的人员选择)
    WFstat = models.IntegerField()
    # 整改日期
    WFcorrdate = models.IntegerField()
    # 整改照片 照片存放地址(响应工作流的人员选择)
    WFcorrpic = models.CharField(max_length=20000)
    #项目检查人员，即发起工作流的人员
    WFchkpeople = models.CharField(max_length=20000)
    #项目回馈员，即响应工作流的人员
    WFanspeople = models.CharField(max_length=20000)


# 机械设备资料表
class MechList(models.Model):
    # 大型机械设备的ID
    MLid = models.CharField(max_length=20000)
    # 大型设备书面材料类型
    MLcert = models.CharField(max_length=20000)
    # 书面材料扫描件
    MLcertscan = models.CharField(max_length=20000)
    # 书面材料文本类型 0==json   1==text
    MLcerttextsort = models.IntegerField()
    # 书面材料文本
    MLcerttext = models.CharField(max_length=20000)
    #工作流表
    MLwfid = models.CharField(max_length=20000)
